1. Field
This disclosure generally relates to electronic design automation. More specifically, this invention relates to a technique for reproducibly obtaining a state in an electronic-design-automation environment by replaying operations using replay look-ahead instructions.
2. Related Art
Electronic-design-automation (EDA) software is widely used to design circuits. Typically, EDA software maintains a log file of all commands or operations performed by a user during a design session. These stored operations are often repeated (which is sometimes referred to as ‘replayed’) in order to: debug a circuit design and/or to program the EDA software to perform batch operations. Note that replaying at least a subset of the stored operations in a log file is sometimes referred to as ‘replaying’ the subset of the operations.
In order to be useful to designers, replay should reliable. Therefore, ideally all of the operations a user may perform using EDA software should support replay. Furthermore, after replaying a sequence of one or more of these operations, the same state in the EDA software should be reproducibly obtained. However, these reliability requirements are often not achieved using existing EDA software.
For example, the log files associated with existing EDA software often do not include information with sufficient temporal granularity to reproducibly obtain the same state in the EDA software when operations are replayed. In particular, a log file may include a particular operation that was performed, but may not include a conditional event that occurred during this operation. As a consequence, when this operation is subsequently replayed, the occurrence of the conditional event and the previous user response are unknown, so the correct state in the EDA software is not obtained.
This lack of reproducibility increases the time and effort needed to design circuits, thereby increasing their cost. In addition, by undermining the user's perception of the reliability of features, such as replay, the user experience is degraded, which can impact customer retention and sales of EDA software.